

class Channel():
    """Base Channel class. Have maximum options."""

    def __init__(self, author="", authorId="", authorUrl="", authorBanners=[], authorThumbnails=[], 
                       subCount=0, totalViews=0, joined=0, autoGenerated=False, isFamilyFriendly=False,
                       description="", descriptionHtml="", allowedRegions=[],
                       latestVideos=[], relatedChannels=[]):
        self.author = author
        self.authorId = authorId
        self.authorUrl = authorUrl
        self.authorBanners = authorBanners
        self.authorThumbnails = authorThumbnails
        self.subCount = subCount
        self.totalViews = totalViews
        self.joined = joined
        self.autoGenerated = autoGenerated
        self.isFamilyFriendly = isFamilyFriendly
        self.description = description
        self.descriptionHtml = descriptionHtml
        self.allowedRegions = allowedRegions
        self.latestVideos = latestVideos
        self.relatedChannels = relatedChannels

    def loadFromDict(self, dct):
        """Loads class info from dictionary"""
        self.author = dct['author']
        self.authorId = dct['authorId']
        self.authorUrl = dct['authorUrl']
        self.authorBanners = dct['authorBanners']
        self.authorThumbnails = dct['authorThumbnails']
        self.subCount = dct['subCount']
        self.totalViews = dct['totalViews']
        self.joined = dct['joined']
        self.autoGenerated = dct['autoGenerated']
        self.isFamilyFriendly = dct['isFamilyFriendly']
        self.description = dct['description']
        self.descriptionHtml = dct['descriptionHtml']
        self.allowedRegions = dct['allowedRegions']
        self.latestVideos = dct['latestVideos']
        self.relatedChannels = dct['relatedChannels']

    def convert(self, cls):
        self.__class__ = cls



